Design and implementation of a reusable type inference engine and its application to Scheme

نویسندگان

  • Brian Dorn
  • Brian J. Dorn
چکیده

Static type checking allows programmers to locate potential bugs prior to code execution. However, developing a static type checker is a complicated endeavor. Implementers must address a number of concerns including recursion over syntax elements, unification of type variables within environments, and generation of meaningful error messages for users. The inherent complexity of type checkers can lead to code that is difficult to both understand and maintain. This thesis presents the design and implementation of an abstract type inference engine and its use in the revision of a student-oriented type checker for the Scheme programming language. Our inference engine provides a complete set of unification facilities to programmers for the specication of a type checking system. It allows for a clean separation of unification algorithms, inference rules, and error generation. We also demonstrate the applicability of the engine by using it to construct a type checker for Scheme targeted at novice programmers. This checker borrows a student-friendly type notation from a previous version and extends its system, providing for language native module support, a more complete treatment of advanced data types, and better error messages.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

A Controller Design with ANFIS Architecture Attendant Learning Ability for SSSC-Based Damping Controller Applied in Single Machine Infinite Bus System

Static Synchronous Series Compensator (SSSC) is a series compensating Flexible AC Transmission System (FACTS) controller for maintaining to the power flow control on a transmission line by injecting a voltage in quadrature with the line current and in series mode with the line. In this work, an Adaptive Network-based Fuzzy Inference System controller (ANFISC) has been proposed for controlling o...

متن کامل

Type-2 Fuzzy Hybrid Expert System For Diagnosis Of Degenerative Disc Diseases

One-third of the people with an age over twenty have some signs of degenerated discs. However, in most of the patients the mere presence of degenerative discs is not a problem leading to pain, neurological compression, or other symptoms. This paper presents an interval type-2 fuzzy hybrid rule-based system to diagnose the abnormal degenerated discs where pain variables are represented by interv...

متن کامل

Application of A Simulation Algorithm for Dynamic and Nonlinear Analysis of A Liquid Propellant Engine

In this paper application of a simulation algorithm for dynamic and nonlinear analysis of a specific liquid propellant engine is presented. The mathematical model of the engine includes a set of nonlinear algebraic equations which is coupled with a set of time varying differential equations. In contrast to the existing liquid propellant simulation algorithms, the presented work does not depend ...

متن کامل

New Shewhart-type synthetic bar{X} control schemes for non-normal data

In this paper, Burr-type XII ̄X synthetic schemes are proposed as an alternative to the classical ̄X synthetic schemes when the assumption of normality fails to hold. First, the basic design of the Burr-type XII ̄X synthetic scheme is developed and its performance investigated using exact formulae. Secondly, the non-side-sensitive and side-sensitive Burr-type XII ̄X synthetic schemes are int...

متن کامل

Design and Implementation of a High Speed Systolic Serial Multiplier and Squarer for Long Unsigned Integer Using VHDL

A systolic serial multiplier for unsigned numbers is presented which operates without zero words inserted between successive data words, outputs the full product and has only one clock cycle latency. The multiplier is based on a modified serial/parallel scheme with two adjacent multiplier cells. Systolic concept is a well-known means of intensive computational task through replication of func...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2005